qx.Class.define("caraffa.widgets.EnviarMensaje",
{
	extend : qx.ui.window.Window,
	events:
	{
    "mensajeEnviado" : "qx.event.type.Data"
	},
    construct : function (titulo){
		this.base(arguments);
		

		// RPC
		this.rpcMensajes = new qx.io.remote.Rpc();
		this.rpcMensajes.setTimeout(10000);
		this.rpcMensajes.setUrl("services/");
		this.rpcMensajes.setServiceName("mensajes");		
		try{
			var result = this.rpcMensajes.callSync("GetUsuarios");
		}
		catch(ex){
			alert("Error: " + ex);
		}	
		// FORM
			this.setLayout(new qx.ui.layout.VBox(10));
			this.setCaption(titulo);
			this.setShowStatusbar(false);
			this.setModal(false);
			this.setMovable(true);
			this.setResizable(false);
			this.setShowMaximize(false);
			this.setShowMinimize(false);
			this.moveTo(520,200);
			this.cmbMensajeEnviarA = new qx.ui.form.ow.ComboBox("Enviar a:",result, true);
			this.txtMensajeAsunto = new qx.ui.form.ow.TextField("Asunto:");
			this.txtMensajeCuerpo = new qx.ui.form.ow.TextArea("Mensaje:");
			
			this.botonera = new qx.ui.groupbox.GroupBox();
				this.botonera.setLayout(new qx.ui.layout.HBox(30).set({alignX:"center"}));
					this.btnEnviar = new qx.ui.form.Button("Enviar");
					this.btnBorrar = new qx.ui.form.Button("Borrar");
				this.botonera.add(this.btnEnviar);
				this.botonera.add(this.btnBorrar);
			
			this.add(this.cmbMensajeEnviarA);
			this.add(this.txtMensajeAsunto);
			this.add(this.txtMensajeCuerpo);
			this.add(this.botonera);
			
			// EVENTS
			this.btnBorrar.addListener('execute', this._borrarMensaje, this);
			this.btnEnviar.addListener('execute', this._enviarMensaje, this);
	},
    members :{
    	
		_borrarMensaje: function(){
			this.cmbMensajeEnviarA.setValue("");
			this.txtMensajeAsunto.setValue("");
			this.txtMensajeCuerpo.setValue("");
		},
		//RPC
		_enviarMensaje: function(){
				try{
					var params = new Object();
						params.dni_usuario_destino = this.cmbMensajeEnviarA.getValue();
						params.asunto = this.txtMensajeAsunto.getValue();
						params.cuerpo = this.txtMensajeCuerpo.getValue();
					this.rpcMensajes.callSync("EnviarMensaje", params);
					this.fireDataEvent('mensajeEnviado');
					this.close();
				}
				catch(ex){
					alert("Error: " + ex);
				}
		}
    }
});
